package com.zetyun.tiger.connector.cnt;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
import com.zetyun.rt.meta.jsonschema.annotation.JsonSchemaTitle;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.util.Set;

@Getter
@Setter
@ToString
public class CountCustCntWithCpParam {

    @JsonSchemaTitle("master名称")
    @JsonProperty(defaultValue = "redis-master")
    private String masterName;

    @JsonSchemaTitle("sentinel地址")
    @JsonProperty(defaultValue = "rdx1:26379")
    private Set<String> sentinels;

    @JsonSchemaTitle("密码")
    @JsonProperty(defaultValue = "Redis6379")
    private String password;

    @JsonSchemaTitle("数据日期字段")
    @JsonProperty(defaultValue = "CB_EVENT_DATE")
    private String dayIdField;

    @JsonSchemaTitle("对公对私标志(P:个人,C:企业)")
    @JsonProperty(defaultValue = "CB_PC_SIGN")
    private String pcFlagField;


    @JsonSchemaTitle("公共揽存标志")
    @JsonProperty(defaultValue = "CB_PUB_DEP_FLG")
    private String pdFlagField;

    @JsonSchemaTitle("开销户标志")
    @JsonProperty(defaultValue = "CB_OPAC_TYP")
    private String opacFlagField;

    @JsonSchemaTitle("业务所属机构号字段")
    @JsonProperty(defaultValue = "RT_RECORD_ORG")
    private String recordOrgNoField;

    @JsonSchemaTitle("客户经理号字段")
    @JsonProperty(defaultValue = "CB_CONNTR_NO")
    private String conntrNoField;


    @JsonSchemaTitle("客户号字段")
    @JsonProperty(defaultValue = "CB_CUST_NO")
    private String custNoField;

    @JsonSchemaTitle("内部账号字段")
    @JsonProperty(defaultValue = "CB_ACCT_NO")
    private String acctNoField;



    @JsonSchemaTitle("公共揽存客户号账号关系数据库")
    @JsonProperty(defaultValue = "4")
    private Integer pbRelationshipDb;

    @JsonSchemaTitle("公共揽存客户关系缓存前缀")
    @JsonPropertyDescription("归属于 公共揽存客户号账号关系数据库 默认为 4 号数据库")
    @JsonProperty(defaultValue = "DIM:HIS:ORG:")
    private String pbRelationshipPrefix;


    @JsonSchemaTitle("客户经理客户号账号关系数据库")
    @JsonProperty(defaultValue = "5")
    private Integer conntrRelationshipDb;

    @JsonSchemaTitle("客户经理客户关系缓存前缀")
    @JsonProperty(defaultValue = "DIM:HIS:CONNTR:")
    @JsonPropertyDescription("归属于 客户经理客户号账号关系数据库 默认为 5 号数据库")
    private String conntrRelationshipPrefix;


//    @JsonSchemaTitle("机构今日客户数字段")
//    @JsonProperty(defaultValue = "RT_ORG_CNT")
//    private String cbOrgCnt;
//
//
//    @JsonSchemaTitle("客户经理今日客户数字段")
//    @JsonProperty(defaultValue = "RT_CONNTR_CNT")
//    private String cbConntrCnt;

    @JsonSchemaTitle("机构今日对私客户数字段")
    @JsonProperty(defaultValue = "RT_P_ORG_CNT")
    private String pOrgCntField;

    @JsonSchemaTitle("机构今日对公客户数字段")
    @JsonProperty(defaultValue = "RT_C_ORG_CNT")
    private String cOrgCntField;


    @JsonSchemaTitle("客户经理今日对私客户数字段")
    @JsonProperty(defaultValue = "RT_P_CONNTR_CNT")
    private String pConntrCntField;

    @JsonSchemaTitle("客户经理今日对公客户数字段")
    @JsonProperty(defaultValue = "RT_C_CONNTR_CNT")
    private String cConntrCntField;


    @JsonSchemaTitle("实时客户数统计数据库")
    @JsonProperty(defaultValue = "8")
    @JsonPropertyDescription("用于保存客户经理和机构的今日开销户客户号")
    private Integer rtDb;



    @JsonSchemaTitle("叶子机构今日开户客户号缓存")
    @JsonProperty(defaultValue = "ADS:ORG:CUST:OPAC:")
    @JsonPropertyDescription("格式默认为 ADS:ORG:CUST:OPAC:{day_id}:{PC_SIGN}:{orgNo} 默认为 8 号数据库")
    private String orgOpacCustPrefix;


    @JsonSchemaTitle("叶子机构今日销户客户号缓存")
    @JsonProperty(defaultValue = "ADS:ORG:CUST:CACCT:")
    @JsonPropertyDescription("格式默认为 ADS:ORG:CUST:CACCT:{day_id}:{PC_SIGN}:{orgNo} 默认为 8 号数据库")
    private String orgCacctCustPrefix;



    @JsonSchemaTitle("客户经理今日开户客户号缓存")
    @JsonProperty(defaultValue = "ADS:CONNTR:CUST:OPAC:")
    @JsonPropertyDescription("格式默认为 ADS:CONNTR:CUST:OPAC:{day_id}:{PC_SIGN}:{conntrNo} 默认为 8 号数据库")
    private String conntrOpacCustPrefix;


    @JsonSchemaTitle("客户经理今日销户客户号缓存")
    @JsonProperty(defaultValue = "ADS:CONNTR:CUST:CACCT:")
    @JsonPropertyDescription("格式默认为 ADS:CONNTR:CUST:CACCT:{day_id}:{PC_SIGN}:{conntrNo} 默认为 8 号数据库")
    private String conntrCacctCustPrefix;


}
